Запрос OPEN

Состояние CLOSED (т.е. блок TCB отсутствует)

Создать новый блок управления передачей (TCB) для хранения информации о состоянии соединения. Заполнить поля идентификатора местного сокета, чужого сокета, приоритета, закрытости/безопасности, а также контрольного времени для клиента. Заметим, что некоторые параметры чужого сокета могут остаться неконкретизированными при пассивном открытии и соответствующие им поля должны быть заданы исходя из параметров пришедшего SYN сигнала. Клиенту может быть предоставлена возможность проверять параметры безопасности и приоритета, если в ответ на такой запрос не будет получено сообщение "error: precedence not allowed" или "error: security/ compartment not allowed". В случае пассивного открытия следует перейти в состояние LISTEN и вернуть управление давшему команду OPEN процессу. Если открытие является активным, а чужой сокет не конкретизирован, то вернуть сообщение "error: fireign socket unspecified". Если открытие является активным и указан чужой сокет, то послать сегмент с сигналом SYN. Выбирается начальный номер для очереди отправления. Посылаемый сегмент и сигналом SYN имеет форму

<SEQ=ISS><CTL=SYN>. Установить переменную SND.UNA в ISS, а SND.NXT - в ISS+1. Перейти в состояние SYN-SENT. Вернуть управление процессу, вызвавшему рассматриваемую команду.

Если сделавший запрос клиент не получил доступа к указанному в запросе сокету, то вернуть сообщение "error: connection illegal for this process". Если для создания нового соединения нет места в памяти компьютера, то вернуть сообщение "error: insufficient resources".

Состояние LISTEN

Если происходит активизация и указан чужой сокет, то сменить состояние соединения с пассивного на активный, выбрать ISS. Послать сегмент с сигналом SYN, занести в SND.UNA значение ISS, а в SND.NXT - ISS+1. Перейти в SYN-SEND состояние. Данные, указанные в команде SEND, могут быть посланы в том же сегменте с сигналом SYN, или же могут быть помещены в очередь на передачу, которая может быть осуществлена после перехода в ESTABLISHED состояние. Если в команде сделан запрос на применение бита срочности, то в результате ее выполнения должны быть посланы сегменты данных. Если в очереди заказов на пересылку нет места, то в результате будет получен ответ "error: insufficient resources". Если чужой сокет не указан, то вернуть сообщение "error: foreign socket unspecified"

Состояния

      SYN-SENT
      SYN-RECEIVED
      ESTABLISHED
      FIN-WAIT-1
      FIN-WAIT-2
      CLOSE-WAIT
      CLOSING
      LAST-ACK
      TIME-WAIT

возвращают в ответ на команду открытия сообщение "error: connection already exist"

Hosted by uCoz